﻿using System.Collections.Generic;
using System.Collections.ObjectModel;
using CI.Models;
using CI.Models.Production;

namespace CI.ViewModels.Interfaces
{
    public interface IIndustrySheetOptionsViewModel : IViewModel
    {
        bool ResearchTech1Blueprints { get; set; }
        bool BuyTech2Blueprints { get; set; }
        int DefaultBlueprintMeLevel { get; set; }
        int DefaultBlueprintPeLevel { get; set; }
        //TODO:Differantiate input / output jobs on type, i.e. ram / mats
        IJob DefaultUnassignedProductionOutputJob { get; set; }
        IJob DefaultMissingProductionInputJob { get; set; }
        ObservableCollection<IJob> AllJobs { get; }
        bool ManufactureTech2Components { get; }
        bool ManufactureTech3Components { get; }
        bool ManufactureCapitalComponents { get; }
        bool ManufacturePIComponents { get; }
        bool MineMinerals { get; }
        PIManufacturingLevel LowestPIManufacturingLevel { get; }
        IEnumerable<PIManufacturingLevel> PIManufacturingLevels { get; }
    }
}